-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[makeotfexe] generates incorrect secondary lookups with useMarkFilteringSet flag #538
Conversation
@@ -2229,7 +2229,7 @@ static Label addAnonRule(hotCtx g, GSUBCtx h, GNode *pMarked, unsigned nMarked, | |||
|
|||
si = dnaINDEX(h->anonSubtable, i - 1); | |||
/* Don't need to match lkpFlag */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this comment about not needing to match lkpFlag
outdated now?
|
@miguelsousa @cjchapman Norbert's comment is misleading - his test case did have a ligature substitution, but that lookup did not have a problem. The bug showed up in the contextual single substitutions. In any case, the bug fix will apply to all the lookup types, so I think the current test is sufficient. I do think the hotconv library should get bumped. However, I am not clear on how often we need to do this - for every change, or for every release, which may span several changes to makeotfexe/hotconv library. There is some overhead; as long as we not skip the name table Version string, all the ttx files in an expected_output directory need to be updated whenever either hotconv or makeotfexe versions are bumped. The comment is indeed out of date- I will fix that immediately. |
@readroberts I think it's good to bump the version every time that library is changed, even though we may not issue afdko releases after each change. I'm aware of the overhead this creates, and I've been meaning to add an option to the |
…ingSet flag · Issue #196 When makeotf is processing contextual substitution rules, it accumulates the substitution rules in a single secondary lookup, even when the lookup flags and mark filtering sets differ. Create test case in makeotf_test.py, with data files that produce the current incorrect output. Validate that makeotf produces the expected font.
…ingSet flag · Issue #196 Fix bug by adding check that lookup flag and mark filter sets match, before adding a new substitution rule to the current secondary lookup table. This is already done in for the equivalent case in GPOS. Update expected_output file to be the correct output. Validate that makeotf produces the expected font.
5ffa3e9
to
a19261d
Compare
[makeotfexe] generates incorrect secondary lookups with useMarkFilteringSet flag · Issue #196
Fix bug by adding check that lookup flag and mark filter sets match, before adding a new substitution rule to the current secondary lookup table.